package cn.iocoder.yudao.module.ym.controller.admin.sitedata.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 电站数据分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SiteDataPageReqVO extends PageParam {

    @Schema(description = "备注", example = "你猜")
    private String remark;

    @Schema(description = "公司ID", example = "7025")
    private Long deptId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "电站id", example = "15707")
    private Long siteId;

    private List<Long> siteIdList;

    private Long userId;

    @Schema(description = "电站名称", example = "15707")
    private String siteName;

    @Schema(description = "年份")
    private Integer year;

    private List<Integer> yearList;

    @Schema(description = "月份")
    private Integer month;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "电量")
    public BigDecimal electricQuantity;

    @Schema(description = "快充电量")
    private BigDecimal fastChargeQuantity;

    @Schema(description = "慢充电量")
    private BigDecimal slowChargeQuantity;

    @Schema(description = "额定功率电量")
    private BigDecimal ratedPower;

    @Schema(description = "功率利用率")
    private BigDecimal powerUtilization;

    @Schema(description = "投运功率")
    private BigDecimal commPower;

    @Schema(description = "力调电费")
    private BigDecimal pfFee;

    @Schema(description = "电费成本")
    private BigDecimal elecCost;

    @Schema(description = "电损")
    private BigDecimal powerLoss;

    @Schema(description = "电损率")
    private BigDecimal lossRate;

    @Schema(description = "折旧")
    private BigDecimal deprec;

    @Schema(description = "运营成本-分成")
    private BigDecimal opCostShare;

    @Schema(description = "运营成本-租金")
    private BigDecimal opCostRent;

    @Schema(description = "运营成本-其他")
    private BigDecimal opCostOther;

    @Schema(description = "运营成本-人工")
    private BigDecimal opCostLabor;

    @Schema(description = "运营成本-运营设施")
    private BigDecimal opCostFacility;

    @Schema(description = "运维成本")
    private BigDecimal maintCost;

    @Schema(description = "运营成本合计")
    private BigDecimal opCostAll;

    @Schema(description = "电费收入")
    private BigDecimal elecRev;

    @Schema(description = "ED客户充电折扣", example = "14699")
    private BigDecimal edDiscount;

    @Schema(description = "服务费收入")
    private BigDecimal servFeeRev;

    @Schema(description = "增值服务")
    private BigDecimal valueAddServ;

    @Schema(description = "综合服务费收入")
    private BigDecimal compServRev;

    @Schema(description = "自营充电毛利")
    private BigDecimal selfOpGp;

    @Schema(description = "其它业务收入")
    private BigDecimal otherRev;

    @Schema(description = "其它业务成本")
    private BigDecimal otherCost;

    @Schema(description = "自营总收益")
    private BigDecimal selfOpAll;

    @Schema(description = "区域ID")
    private Long areaId;

    @Schema(description = "慢充运能")
    private BigDecimal slowCapacity;

    @Schema(description = "快充运能")
    private BigDecimal fastCapacity;

    private List<Long> areaIdList;
}
